double getmin(double data[], int N_out);

double getmax(double data[], int N_out);

double getmu(double data[], int N_pts);

double getphase(double t, double t_init, double P);

void hist(double data[], double hist[], int N_bins, int N_out);

/* Read a line of text using the FILE pointer FP and return a pointer to
   a null-terminated string that contains the text read, including the
   newline (if any) that ends the line.  Storage for the line is allocated
   by malloc() and/or realloc(), and thus must be free()-ed by the calling
   program.  If the end-of-file is detected before any characters are read,
   return NULL.  Assumes malloc() and realloc() always return non-NULL.  (Stan Eisenstat)    */

char *getLine (FILE *fp);

int readcol(double **a, FILE *infile);

int read2col(double **a, double **b, FILE *infile);

int read3col(double **a, double **b, double **c, FILE *infile);

int read5col(double **a, double **b, double **c, double **d, double **e, FILE *infile);

void bubblesort(double *col1, int n);
